/**
 * OrderBusiness.java
 * @author taowei20061122@163.com
 * 2013-6-14 下午4:40:55
 */
package study.designpattern.prototype;

/**
 * 创建订单的方法
 * @author taowei20061122@163.com
 * 2013-6-14 下午4:40:55
 */
public class OrderBusiness {
	
	public void saveOrder(OrderApi order) {
		// 1.判断当前预订的产品数量是否大于1000
		while(order.getOrderProductNum()>1000) {
			// 2.如果大于，还要继续拆分
			// 2.1 再新建一份订单，跟传入的订单除了数量不一致外，其他都相同
			OrderApi newOrder = order.cloneOrder();
			// 然后进行赋值，产品数量为1000
			newOrder.setOrderProductNum(1000);
			
			// 2.2原来的订单保留，把数量设置成减少1000
			order.setOrderProductNum(order.getOrderProductNum()-1000);
			
			// 然后是业务功能处理....
			System.out.println("拆分订单："+newOrder);
			
		}
		// 3.不超过，就直接业务功能处理....
		System.out.println("订单："+order);
	}

}
